Subject: Locate search cleanup

From: "Roy Brabson (254-7332 (T/L 444))" <[email-masked]>
Date: Wed, 7 Jun 95 11:13:23 EDT

Ref:  Your append to AIWAPPNR DIGEST (IBMSNA) at 00:07:34 on 95/06/07

Dave, I've included answers below.

> > No, this cleanup logic only applies to a directed search where a
> > Locate chain is being maintained *after* a complete reply has been
> > returned to the search origin.  Such a Locate chain can only be
> > maintained on a directed search.
>
> That is kind of what is implied on 8-58 (although not specifically
> stated), however, the bottom para on 8-64 states (under special cases
> for search logic):
>
>  "If a CP-CP session outage occurs along the path of a directed
>   search (WITH OR WITHOUT RESERVATION), nodes on each side of the
>   outage send Locate(discard) to their respective endpoints."
>
> (The capitali{s|z}ation is mine). This seems to disagree with your
> comments. Whadayareckon ?

I reckon the book is wrong.  The node on the OLU side will definitely
send a Locate(discard) toward the OLU.  On the DLU side, the node will
wait until it receives a complete reply.  If it is a Locate(discard),
then it discards its Locate control blocks.  If it is a Locate(keep),
it will then send a Locate(chain_flow,discard) to the DLU.

At least, that is how it works for most products.  VTAM, of course, is
slightly different.  If the next node in the DLU direction supports
receipt of a Locate(rq,discard) chaser, then VTAM will immediately send
a Locate(rq,discard) toward the DLU.  This Locate(discard) chaser will
keep being propogated along the Locate path until it either reaches the
CP(DLU) or until a node which does not support receipt of the
Locate(discard) chaser is encountered.  VTAM uses support of
the SSE-CP logic to determine if the adjacent node can handle receipt of
the Locate(discard) chaser.  This means VTAM will only send the
Locate(discard) chaser to another VTAM, at least until another product
implements the SSE-CP tower.

> Also, on 8-58, in the last paragraph, (I won't copy the whole thing
> here,) it specifically states that Locate(discard) is generated (by
> both sides of the outage) even if the Locate reply has *not* been
> received. This is reinforced by the following sentence in the para:
>
>   "If a breakage occurs in the path of a directed search after the
>    Locate reply has been returned to the OCP, CPs on both sides
>    of the breakage will STILL send Locate(discard) to their respective
>    endpoints." (Again, capitali{s|z}ation is mine.)
>
> This again implies that the cleanup is not only sent after a complete
> reply with keep is received, but also before a reply is received at
> all.

I'm not sure what is being implied, but the way it works is how I've
described it.  VTAM may send a Locate(discard) before a Locate chain
is established, but all other products will wait until if and when
a Locate chain is established before sending the Locate(discard) flow.

> Also, just to clarify - on a broadcast search, cleanup is never done ?
> So if the link between NN1 and NN2 dies, and NN1 is the parent of NN2
> in a search, then NN2 simply waits for its children to reply and
> then discards knowledge of the search ?

Yup.

Roy Brabson

---

From: Dario Calia <[email-masked]>
Date: Wed, 7 Jun 95 12:13:58 PDT

Hello,

  > it will then send a Locate(chain_flow,discard) to the DLU.

Hmm...seems like some product is broken and it was decided that the
architecture was broken instead.  Just wonderful.  Now, we keep perfectly
useless information around because some product can't digest a locate,
discard,request.  Brilliant!  

Ciao, Dario